/*
* Copyright (c) 2020 - 2025 Renesas Electronics Corporation and/or its affiliates
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#include "hw_sce_ra_private.h"

uint32_t const DomainParam_NIST_P256[] =
{
#ifndef __ARMEB__   /* Little endian */
    0xbe0c4d57, 0xdf19f281, 0x218ef1f1, 0xff3a8043,
    0xea7f9603, 0x3570852d, 0xaedb42ee, 0xd74bdb28,
    0xc7b90cba, 0x4ab0d310, 0x623fd564, 0xc2c8dcf8,
    0xf22a8af7, 0x7df9a188, 0x8c9dd15e, 0xcf345fe3,
    0x85ae4e60, 0x77cbf7d5, 0x457b8ca5, 0xb5783c89,
    0xef9a1a43, 0xbafbc7e6, 0x5bdd65a2, 0xbca719f0,
    0x911f6703, 0x69c22c4b, 0x270d7fba, 0x38e2165a,
    0x363275e7, 0x8c4b8bb3, 0xf0dbcf65, 0x2b43abe6,
    0x22948c0c, 0xbda37784, 0x00a66615, 0xa9b35723,
    0x6aaa9634, 0x0bf3f7bd, 0xe2feaa5b, 0x6373fa44,
    0x133ed01a, 0x777de410, 0xcd588d01, 0x0b80d16a,
    0xf31f5c20, 0x67b31a35, 0x2c65b0cf, 0xc35b3765,
    0x39c3286d, 0xea128cf5, 0xba9abaaa, 0x63d54b95,
    0x3c74c427, 0x85820288, 0xf80689dc, 0x291a698a,
    0x1c2d7144, 0x01c2842c, 0x282b4b75, 0x216967b3,
    0x2a772863, 0x6a17943d, 0x417d294b, 0xafbd05dd,
    0x647bd78c, 0x684c3088, 0x23f61c88, 0xd9847f56,
    0x8d7d4763, 0xcd8acb65, 0x7fc20ad6, 0xbfa8897c

#else               /* Big endian */
    0x574d0cbe, 0x81f219df, 0xf1f18e21, 0x43803aff,
    0x03967fea, 0x2d857035, 0xee42dbae, 0x28db4bd7,
    0xba0cb9c7, 0x10d3b04a, 0x64d53f62, 0xf8dcc8c2,
    0xf78a2af2, 0x88a1f97d, 0x5ed19d8c, 0xe35f34cf,
    0x604eae85, 0xd5f7cb77, 0xa58c7b45, 0x893c78b5,
    0x431a9aef, 0xe6c7fbba, 0xa265dd5b, 0xf019a7bc,
    0x03671f91, 0x4b2cc269, 0xba7f0d27, 0x5a16e238,
    0xe7753236, 0xb38b4b8c, 0x65cfdbf0, 0xe6ab432b,
    0x0c8c9422, 0x8477a3bd, 0x1566a600, 0x2357b3a9,
    0x3496aa6a, 0xbdf7f30b, 0x5baafee2, 0x44fa7363,
    0x1ad03e13, 0x10e47d77, 0x018d58cd, 0x6ad1800b,
    0x205c1ff3, 0x351ab367, 0xcfb0652c, 0x65375bc3,
    0x6d28c339, 0xf58c12ea, 0xaaba9aba, 0x954bd563,
    0x27c4743c, 0x88028285, 0xdc8906f8, 0x8a691a29,
    0x44712d1c, 0x2c84c201, 0x754b2b28, 0xb3676921,
    0x6328772a, 0x3d94176a, 0x4b297d41, 0xdd05bdaf,
    0x8cd77b64, 0x88304c68, 0x881cf623, 0x567f84d9,
    0x63477d8d, 0x65cb8acd, 0xd60ac27f, 0x7c89a8bf
#endif  /* defined __ARMEB__ */
};

uint32_t const DomainParam_Brainpool_256r1[] =
{
#ifndef __ARMEB__   /* Little endian */
    0x7d1404b6, 0xfe892b7b, 0xc5460b74, 0x1786df53,
    0x452c7116, 0x7eb3c408, 0x68098b67, 0x9724f148,
    0x1e7a3a4b, 0x2b0beb97, 0x8662ae5c, 0x834269fe,
    0xbb5aae6f, 0x114fa31e, 0xf404aa00, 0xab082fcb,
    0xa991b2fe, 0x52baa009, 0x5bb401bd, 0xeaeae964,
    0xc0e75283, 0x847fdd6e, 0x394d46b6, 0xc63085c9,
    0x03ab747e, 0x3382223f, 0x09375075, 0x7d845b87,
    0x53510761, 0x92752515, 0x324108b4, 0x417467d0,
    0xdefda3f4, 0xcbc25a83, 0xe04e46f5, 0xbf92e96d,
    0x3eb79587, 0xcc524c98, 0x052ce50e, 0x5f151807,
    0x6e519a75, 0x2665bb1b, 0x7cbc334a, 0x1d7fa83f,
    0xa5435734, 0x291453ec, 0x826ba0cc, 0xc3b71fc4,
    0x4d55dfd0, 0x9a51bde2, 0x6ad24769, 0x8e3901c9,
    0xd6354c08, 0x22829114, 0x3b5b8c29, 0x35e0b68d,
    0x867abe5c, 0xaa877c5a, 0x487e5207, 0x618a1c8d,
    0xcd260f9c, 0x89e74030, 0x4430633b, 0x13a7693e,
    0xad2cf7bb, 0x1ebda06a, 0xa429ac13, 0x4672ea03,
    0xffd37651, 0x3f4b653c, 0x63ff0acc, 0xf1603476

#else               /* Big endian */
    0xb604147d, 0x7b2b89fe, 0x740b46c5, 0x53df8617,
    0x16712c45, 0x08c4b37e, 0x678b0968, 0x48f12497,
    0x4b3a7a1e, 0x97eb0b2b, 0x5cae6286, 0xfe694283,
    0x6fae5abb, 0x1ea34f11, 0x00aa04f4, 0xcb2f08ab,
    0xfeb291a9, 0x09a0ba52, 0xbd01b45b, 0x64e9eaea,
    0x8352e7c0, 0x6edd7f84, 0xb6464d39, 0xc98530c6,
    0x7e74ab03, 0x3f228233, 0x75503709, 0x875b847d,
    0x61075153, 0x15257592, 0xb4084132, 0xd0677441,
    0xf4a3fdde, 0x835ac2cb, 0xf5464ee0, 0x6de992bf,
    0x8795b73e, 0x984c52cc, 0x0ee52c05, 0x0718155f,
    0x759a516e, 0x1bbb6526, 0x4a33bc7c, 0x3fa87f1d,
    0x345743a5, 0xec531429, 0xcca06b82, 0xc41fb7c3,
    0xd0df554d, 0xe2bd519a, 0x6947d26a, 0xc901398e,
    0x084c35d6, 0x14918222, 0x298c5b3b, 0x8db6e035,
    0x5cbe7a86, 0x5a7c87aa, 0x07527e48, 0x8d1c8a61,
    0x9c0f26cd, 0x3040e789, 0x3b633044, 0x3e69a713,
    0xbbf72cad, 0x6aa0bd1e, 0x13ac29a4, 0x03ea7246,
    0x5176d3ff, 0x3c654b3f, 0xcc0aff63, 0x763460f1
#endif  /* defined __ARMEB__ */
};

uint32_t const DomainParam_Koblitz_secp256k1[] =
{
#ifndef __ARMEB__   /* Little endian */
    0xba3c3b36, 0x9d9f52eb, 0x2aad7a53, 0xc8e4e491,
    0x5e3a9ff4, 0x369ea9c7, 0x39a2395f, 0xbb3918c2,
    0x666ba528, 0xa7870da5, 0xfd10cb4b, 0x007ad0ca,
    0x136a07d9, 0x8b2e836e, 0xc70f4e7b, 0x9e9c3d60,
    0xb492a640, 0x27503980, 0xe0cf95e1, 0xb3f12f12,
    0x2c1d6e55, 0x56b11659, 0x1b3214f2, 0xe9fd84a4,
    0xa6695105, 0xd472d124, 0xd4e7dc3f, 0x2d2e588e,
    0xc7720f4b, 0x79c38751, 0x9696e354, 0x34a81fb1,
    0xa2842c2a, 0xcfca9237, 0x411d9aca, 0x49b9c9dc,
    0x9eec7700, 0x1c2a2cc0, 0x636653aa, 0x0d747267,
    0xd1489cdf, 0x8a245e84, 0x34d027e0, 0x352e476d,
    0x320519d8, 0xfd46aaf4, 0xcd743908, 0xe184ca99,
    0xd56f5cbd, 0x6c884767, 0xec942ff3, 0xe8fd47b8,
    0x1dc7e3d3, 0x5e0b7d14, 0x9c655c67, 0x634bef66,
    0x2dc5f4b3, 0xf6e94a02, 0xc2d240df, 0x0639fc56,
    0x85918a6d, 0x4a544a22, 0x6bf8e1fc, 0x644641e6,
    0x3e1a5b4d, 0x164199d7, 0xccf38f14, 0x1646921a,
    0xe27aac85, 0xffc21f9b, 0xbebbd4c7, 0x9a2555ff

#else               /* Big endian */
    0x363b3cba, 0xeb529f9d, 0x537aad2a, 0x91e4e4c8,
    0xf49f3a5e, 0xc7a99e36, 0x5f39a239, 0xc21839bb,
    0x28a56b66, 0xa50d87a7, 0x4bcb10fd, 0xcad07a00,
    0xd9076a13, 0x6e832e8b, 0x7b4e0fc7, 0x603d9c9e,
    0x40a692b4, 0x80395027, 0xe195cfe0, 0x122ff1b3,
    0x556e1d2c, 0x5916b156, 0xf214321b, 0xa484fde9,
    0x055169a6, 0x24d172d4, 0x3fdce7d4, 0x8e582e2d,
    0x4b0f72c7, 0x5187c379, 0x54e39696, 0xb11fa834,
    0x2a2c84a2, 0x3792cacf, 0xca9a1d41, 0xdcc9b949,
    0x0077ec9e, 0xc02c2a1c, 0xaa536663, 0x6772740d,
    0xdf9c48d1, 0x845e248a, 0xe027d034, 0x6d472e35,
    0xd8190532, 0xf4aa46fd, 0x083974cd, 0x99ca84e1,
    0xbd5c6fd5, 0x6747886c, 0xf32f94ec, 0xb847fde8,
    0xd3e3c71d, 0x147d0b5e, 0x675c659c, 0x66ef4b63,
    0xb3f4c52d, 0x024ae9f6, 0xdf40d2c2, 0x56fc3906,
    0x6d8a9185, 0x224a544a, 0xfce1f86b, 0xe6414664,
    0x4d5b1a3e, 0xd7994116, 0x148ff3cc, 0x1a924616,
    0x85ac7ae2, 0x9b1fc2ff, 0xc7d4bbbe, 0xff55259a
#endif  /* defined __ARMEB__ */
};

